]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
build: Use python instead of perl to convert glsl source into a C string
authorAlberto Ruiz <aruiz@redhat.com>
Wed, 25 Dec 2024 03:15:54 +0000 (03:15 +0000)
committerFlorian Müllner <fmuellner@gnome.org>
Fri, 10 Jan 2025 11:46:26 +0000 (12:46 +0100)
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3578>
(cherry picked from commit 46efbfb2ab3b6a8cfa7971067746902627514679)

src/data-to-c.pl [deleted file]
src/data-to-c.py [new file with mode: 0755]
src/st/meson.build

diff --git a/src/data-to-c.pl b/src/data-to-c.pl
deleted file mode 100755 (executable)
index 69f7436..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/usr/bin/env perl
-
-# Copyright © 2011 Red Hat, Inc
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the licence, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, see <http://www.gnu.org/licenses/>.
-#
-# Author: Kalev Lember <kalevlember@gmail.com>
-
-
-if (@ARGV != 2) {
-    die "Usage: data-to-c.pl <filename> <variable>\n";
-}
-
-$file = $ARGV[0];
-
-open (FILE, $file) || die "Cannot open $file: $!\n";
-
-printf ("const char %s[] = \"", $ARGV[1]);
-while (my $line = <FILE>) {
-    foreach my $c (split //, $line) {
-        printf ("\\x%02x", ord ($c));
-    }
-}
-print "\";\n";
-
-close (FILE);
diff --git a/src/data-to-c.py b/src/data-to-c.py
new file mode 100755 (executable)
index 0000000..ac734bb
--- /dev/null
@@ -0,0 +1,30 @@
+#!/usr/bin/env python3
+
+# Copyright © 2024 Red Hat, Inc
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the licence, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, see <http://www.gnu.org/licenses/>.
+#
+# Author: Alberto Ruiz <aruiz@redhat.com>
+
+import sys
+
+if len(sys.argv) != 3:
+    print(f"Usage: {sys.argv[0]} <filename> <variable>", file=sys.stderr)
+    sys.exit(1)
+
+with open(sys.argv[1], "rb") as srcfile:
+    print(f'const char {sys.argv[2]}[] = "', end="")
+    while (val := srcfile.read(1)):
+        print(f"\\x{val.hex()}", end="")
+    print('";')
index b436d510d01b448acf868344fd10dce6ac3f4df8..523255c2cea5d6998d17b1961f7ac5eebb7e2785 100644 (file)
@@ -156,7 +156,7 @@ st_enums = gnome.mkenums_simple('st-enum-types',
 
 st_gir_sources = st_sources + st_headers + st_enums
 
-data_to_c = find_program(meson.project_source_root() + '/src/data-to-c.pl')
+data_to_c = find_program(meson.project_source_root() + '/src/data-to-c.py')
 
 glsl_sources = custom_target('scroll-view-fade-glsl',
   input: ['st-scroll-view-fade.glsl'],